home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / network / file-tra / rdist-6.1 / rdist-6 / rdist-6.1.0-linuxpl2 / src / rdistd.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-16  |  3.0 KB  |  114 lines

  1. /*
  2.  * Copyright (c) 1983 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  */
  33.  
  34. #ifndef lint
  35. static char RCSid[] = 
  36. "$Id: rdistd.c,v 6.21 1994/02/25 23:53:13 mcooper Exp mcooper $";
  37.  
  38. static char sccsid[] = "@(#)rdistd.c";
  39.  
  40. static char copyright[] =
  41. "@(#) Copyright (c) 1983 Regents of the University of California.\n\
  42.  All rights reserved.\n";
  43. #endif /* not lint */
  44.  
  45.  
  46. #include "defs.h"
  47.  
  48. /*
  49.  * Print usage message
  50.  */
  51. static void usage()
  52. {
  53.     fprintf(stderr, "usage: %s -S [ -DV ]\n", progname);
  54.     exit(1);
  55. }
  56.  
  57. char    localmsglist[] = "syslog=ferror";
  58.  
  59. /*
  60.  * The Beginning
  61.  */
  62. main(argc, argv, envp)
  63.     int argc;
  64.     char **argv;
  65.     char **envp;
  66. {
  67.     char *cp;
  68.     int c;
  69.  
  70.     if (init(argc, argv, envp) < 0)
  71.         exit(1);
  72.  
  73.     while ((c = getopt(argc, argv, "SDV")) != -1)
  74.         switch (c) {
  75.         case 'S':
  76.             isserver++;
  77.             break;
  78.  
  79.         case 'D':
  80.             debug++;
  81.             break;
  82.  
  83.         case 'V':
  84.             printf("%s\n", getversion());
  85.             exit(0);
  86.  
  87.         case '?':
  88.         default:
  89.             error("Bad command line option.");
  90.             usage();
  91.         }
  92.  
  93.     if (!isserver) {
  94.         error("Use the -S option to run this program in server mode.");
  95.         exit(1);
  96.     }
  97.  
  98.     /* Use stdin and stdout for remote descriptors */
  99.     rem_r = fileno(stdin);
  100.     rem_w = fileno(stdout);
  101.  
  102.     /* Set logging */
  103.     if (cp = msgparseopts(localmsglist, TRUE))
  104.         fatalerr("Bad message logging option (%s): %s", 
  105.              localmsglist, cp);
  106.  
  107.     /*
  108.      * Main processing function
  109.      */
  110.     server();
  111.  
  112.     exit(nerrs != 0);
  113. }
  114.